assume cs:code
code segment
          a dw 1,2,3,4,5,6,7,8 ;标号a、b后面没有":"，因此它们是可以同时描述内存地址和单元长度的标号。
                               ;标号a，描述了地址code:0，和从这个地址开始，以后的内存单元都是字节单元
          b dd 0               ;标号b描述了地址code:8，和从这个地址开始，以后的内存单元都是字单元。
    start:  
        mov si,0
        mov cx,8
    s:  
        mov ax,a[si]         ;a的数据结构是字类型两个字节，b是4个字节 将a的内容送到ax
        add word ptr b[0],ax ;将ax的值和b标号的低16位做加法，连个数相加需要形同的数据类型，必须都是字
        adc word ptr b[2] ,0 ;代位进加法，将0与上以一指令中的cf相加，结果存储在b的高16位单元中，目的是防止低16位产生仅为，同样要指定我字为存储结构
        add si,2 ; dw是一个字 俩个字节
        loop s
        
        mov ax,4c00h
        int 21h
code ends
end start